package com.fin.quant.app.asset.service;

import com.fin.quant.app.vo.AssetVO;
import com.fin.quant.app.vo.CreateThemePortfolioRequest;
import com.fin.quant.app.vo.ThemePortfolioVO;
import com.fin.quant.rpc.common.Result;

import java.util.List;

/**
 * 主题组合应用服务接口
 */
public interface ThemePortfolioService {

    /**
     * 获取主题组合列表
     */
    Result<List<ThemePortfolioVO>> getThemePortfolios();

    /**
     * 获取主题组合详情
     */
    Result<ThemePortfolioVO> getThemePortfolioDetail(Long themeId);

    /**
     * 获取主题组合资产详情
     */
    Result<List<AssetVO>> getThemePortfolioAssets(Long themeId);

    /**
     * 创建主题组合
     */
    Result<ThemePortfolioVO> createThemePortfolio(CreateThemePortfolioRequest request);

    /**
     * 更新主题组合
     */
    Result<ThemePortfolioVO> updateThemePortfolio(Long themeId, CreateThemePortfolioRequest request);

    /**
     * 删除主题组合
     */
    Result<String> deleteThemePortfolio(Long themeId);
}
